package ltd.hanamaki.study.jdbc;

import com.mysql.cj.jdbc.Driver;

import java.sql.*;

public class JdbcDemo {

    public static void main(String[] args) {

        /* 1. 注册驱动 */
        /* 1.1 下载驱动`jar`包  在哪下？ 官网？ 版本？ */
        /* 下载驱动的 位置：https://downloads.mysql.com/archives/c-j/ */
        /* 下载驱动的位置 ：https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.25 */
        /* 1.2 jar包下载完毕之后，需要引入到 Java的项目中 */
        /* 1.3 注册驱动 */
        /* 注册驱动的写法 */
        try {
            /* 注册驱动 */
//            DriverManager.registerDriver(new Driver());
            Class.forName("com.mysql.cj.jdbc.Driver"); //激活静态代码

            /* 2. 需要配置连接数据库的  信息 */
            /* 2.1 配置连接数据库的  主机信息 */
            String url = "jdbc:mysql://127.0.0.1:3306/mysources?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
            /* 2.2 配置连接数据库的 用户名 */
            String username = "root";
            /* 2.3 配置链接数据库的 密码 */
            String password = "root";

            /* 3. 链接数据库 */
            /* 通过驱动管理器对象DriverManager来 链接数据库 */
            /* connection 代表数据库 */
            Connection connection = DriverManager.getConnection(url, username, password);


            /* 4. 执行查询操作 */
            /* 4.1 ，创建一个 能够编写 sql 语句以及执行sql 语句的 对象 */
            Statement statement = connection.createStatement();
            /* 4.2 编写 sql语句 */
            String sql = "select * from hello";
            /* 4.3 执行sql语句 */
            ResultSet resultSet = statement.executeQuery(sql);
            /* 遍历结果集 得到具体的 信息 */
            while (resultSet.next()) {
                System.out.println(resultSet.getObject("id"));
            }
            /* 5. 流关闭 */
            resultSet.close();
            statement.close();
            connection.close();


        } catch (ClassNotFoundException e) {
            System.out.println("驱动加载异常！");
        } catch (SQLException throwables) {
            System.out.println("数据库连接异常！");
        }


    }



}
